package com.sakura.system.service.impl.xyimpl;

import com.sakura.system.dao.xydao.MovieMapper;
import com.sakura.system.entity.xy.CinemaResult;
import com.sakura.system.entity.xy.Movie;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
@Service
public class MovieServiceImpl implements MovieService {
    @Resource
    MovieMapper movieMapper;
    /**
     * 插入电影信息到数据库
     * @param movie 电影对象，包含电影的详细信息
     * @return CinemaResult 插入操作的结果，如果操作成功，返回一个成功的CinemaResult对象
     */
    @Override
    public CinemaResult insertMovie(Movie movie) {
        // 调用movieMapper插入电影信息
        movieMapper.insertMovie(movie);
        // 返回操作成功的结果
        return CinemaResult.ok();
    }

    /**
     * 获取所有的电影数据。
     *
     * @return 返回一个包含所有电影信息的列表。
     */
    @Override
    public List<Movie> getMovieData() {
        // 通过movieMapper查询所有电影数据
        return movieMapper.selectAllMovie();
    }

    /**
     * 删除指定ID的电影记录。
     *
     * @param movieId 电影的唯一标识符，用于指定要删除的电影。
     * @Override 标注表示此方法重写了父类中的同名方法。
     */
    @Override
    public void delMovie(String movieId) {
        // 通过movieMapper删除指定ID的电影
        movieMapper.deleteMovieById(movieId);
    }

    /**
     * 修改电影信息
     * @param movie 包含电影更新信息的对象
     * @return 返回操作结果，如果操作成功，则返回一个成功的CinemaResult对象
     */
    @Override
    public CinemaResult modifyMovie(Movie movie) {
        // 通过movieMapper以电影ID更新电影信息
        movieMapper.updateMovieById(movie);
        // 返回操作成功的结果
        return CinemaResult.ok();
    }

}
